<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>AngelScript: asIScriptModule Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>


</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">AngelScript
   
   </div>
   
  </td>
  
  
  
   
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('classas_i_script_module.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">asIScriptModule Class Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="asIScriptModule" -->
<p>The interface to the script modules.  
 <a href="classas_i_script_module.html#details">More...</a></p>

<p><a href="classas_i_script_module-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Miscellaneous</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classas_i_script_engine.html">asIScriptEngine</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#aef861826f4d09fd411aee7792854bfb8">GetEngine</a> () const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a pointer to the engine.  <a href="#aef861826f4d09fd411aee7792854bfb8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#a1a7534bace9eefdc3175a1999f9cbf4a">SetName</a> (const char *name)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the name of the module.  <a href="#a1a7534bace9eefdc3175a1999f9cbf4a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#a4967db3ed89836ac2f3b529c499d473d">GetName</a> () const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the name of the module.  <a href="#a4967db3ed89836ac2f3b529c499d473d"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Compilation</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#a330835919b565c76c25e9425536f50b7">AddScriptSection</a> (const char *name, const char *code, size_t codeLength=0, int lineOffset=0)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a script section for the next build.  <a href="#a330835919b565c76c25e9425536f50b7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#a8acf107194c5f079d7f7507309ebe613">Build</a> ()=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Build the previously added script sections.  <a href="#a8acf107194c5f079d7f7507309ebe613"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#a1258d7cfeed965f36ba312beeb49e81c">CompileFunction</a> (const char *sectionName, const char *code, int lineOffset, <a class="el" href="angelscript_8h.html#a5428f0c940201e5f3bbb28304aeb81bc">asDWORD</a> compileFlags, <a class="el" href="classas_i_script_function.html">asIScriptFunction</a> **outFunc)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compile a single function.  <a href="#a1258d7cfeed965f36ba312beeb49e81c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#a34850e152dcdcb58c53a2b6929cebf77">CompileGlobalVar</a> (const char *sectionName, const char *code, int lineOffset)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compile a single global variable and add it to the scope of the module.  <a href="#a34850e152dcdcb58c53a2b6929cebf77"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="angelscript_8h.html#a5428f0c940201e5f3bbb28304aeb81bc">asDWORD</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#a76733de5a86875c4a0f021f7f92a6d12">SetAccessMask</a> (<a class="el" href="angelscript_8h.html#a5428f0c940201e5f3bbb28304aeb81bc">asDWORD</a> accessMask)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the access mask that should be used during the compilation.  <a href="#a76733de5a86875c4a0f021f7f92a6d12"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Functions</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#a373d102f109ae0fa20584f243ead4035">GetFunctionCount</a> () const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of global functions in the module.  <a href="#a373d102f109ae0fa20584f243ead4035"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#a6f2d37c051254c96fdb3fe820daf9385">GetFunctionIdByIndex</a> (<a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> index) const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the function id by index.  <a href="#a6f2d37c051254c96fdb3fe820daf9385"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#a5af2e0e25a6c0d319c8d22543210a09a">GetFunctionIdByName</a> (const char *name) const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the function id by name.  <a href="#a5af2e0e25a6c0d319c8d22543210a09a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#a3c9cc47d3e0efc4aaf22d92492735438">GetFunctionIdByDecl</a> (const char *decl) const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the function id by declaration.  <a href="#a3c9cc47d3e0efc4aaf22d92492735438"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classas_i_script_function.html">asIScriptFunction</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#afd4d9951ee006caa8ec1bab3d3d206fc">GetFunctionByIndex</a> (<a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> index) const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the function by index.  <a href="#afd4d9951ee006caa8ec1bab3d3d206fc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classas_i_script_function.html">asIScriptFunction</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#ab4754d55d8667aefbed135b4794d461b">GetFunctionByDecl</a> (const char *decl) const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the function by its declaration.  <a href="#ab4754d55d8667aefbed135b4794d461b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classas_i_script_function.html">asIScriptFunction</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#a81d727c9677b683942b6087df4ce95ad">GetFunctionByName</a> (const char *name) const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the function by its name.  <a href="#a81d727c9677b683942b6087df4ce95ad"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classas_i_script_function.html">asIScriptFunction</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#a7c1030fdb2e0b5dac3ed3f2d27cd3119">GetFunctionDescriptorByIndex</a> (<a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> index) const =0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classas_i_script_function.html">asIScriptFunction</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#ad09b8ddf16d45154b1f12a5847a57db6">GetFunctionDescriptorById</a> (int funcId) const =0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#a62c6783491b197e9eb29639e7997e1df">RemoveFunction</a> (int funcId)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a single function from the scope of the module.  <a href="#a62c6783491b197e9eb29639e7997e1df"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Global variables</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#a7b084b6693a05616097d7059e54d983b">ResetGlobalVars</a> (<a class="el" href="classas_i_script_context.html">asIScriptContext</a> *ctx=0)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset the global variables of the module.  <a href="#a7b084b6693a05616097d7059e54d983b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#a87e29773f7e6f2980d75288faaa74d02">GetGlobalVarCount</a> () const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of global variables in the module.  <a href="#a87e29773f7e6f2980d75288faaa74d02"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#a00cff95b43c256cc6b9062e135a473a2">GetGlobalVarIndexByName</a> (const char *name) const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the global variable index by name.  <a href="#a00cff95b43c256cc6b9062e135a473a2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#ac3d5dafe8ca92bf618f438dc79ef2906">GetGlobalVarIndexByDecl</a> (const char *decl) const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the global variable index by declaration.  <a href="#ac3d5dafe8ca92bf618f438dc79ef2906"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#a343d8cab801cc6edf0e2d80cee0ee538">GetGlobalVarDeclaration</a> (<a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> index) const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the global variable declaration.  <a href="#a343d8cab801cc6edf0e2d80cee0ee538"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#a00b36a31c91756a34f66c37283ea5235">GetGlobalVar</a> (<a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> index, const char **name, int *typeId=0, bool *isConst=0) const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the global variable properties.  <a href="#a00b36a31c91756a34f66c37283ea5235"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#a0998d375ca1de02bc72f4544806da58c">GetAddressOfGlobalVar</a> (<a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> index)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the pointer to the global variable.  <a href="#a0998d375ca1de02bc72f4544806da58c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#aac10878c3d16f18ace4db881f7a1bb11">RemoveGlobalVar</a> (<a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> index)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove the global variable from the scope of the module.  <a href="#aac10878c3d16f18ace4db881f7a1bb11"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Type identification</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#a931d0c00cba2df1b4e368e59bac1a207">GetObjectTypeCount</a> () const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of object types.  <a href="#a931d0c00cba2df1b4e368e59bac1a207"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classas_i_object_type.html">asIObjectType</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#a33ebba99a6358ccfb0c154fca7f58f77">GetObjectTypeByIndex</a> (<a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> index) const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the object type interface by index.  <a href="#a33ebba99a6358ccfb0c154fca7f58f77"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#a7fbc2bd888b248d2c2ee2d953b49eefc">GetTypeIdByDecl</a> (const char *decl) const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a type id by declaration.  <a href="#a7fbc2bd888b248d2c2ee2d953b49eefc"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Enums</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#a1a241b3dfd47f7ab5bb475c757e38df9">GetEnumCount</a> () const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of enum types declared in the module.  <a href="#a1a241b3dfd47f7ab5bb475c757e38df9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#acdce6b9ca9f8ce694751c133f27a7313">GetEnumByIndex</a> (<a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> index, int *enumTypeId) const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the enum type.  <a href="#acdce6b9ca9f8ce694751c133f27a7313"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#a1d3ec83b6130a66abb4c8f1cebb963c8">GetEnumValueCount</a> (int enumTypeId) const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of values defined for the enum type.  <a href="#a1d3ec83b6130a66abb4c8f1cebb963c8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#a9911c25c61315bc4109c11872ce69445">GetEnumValueByIndex</a> (int enumTypeId, <a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> index, int *outValue) const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name and value of the enum value.  <a href="#a9911c25c61315bc4109c11872ce69445"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Typedefs</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#ad30b22539655df3135f29ce28b89c820">GetTypedefCount</a> () const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of typedefs in the module.  <a href="#ad30b22539655df3135f29ce28b89c820"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#af3fbbbdf2864b0e46fbc25063df0c36a">GetTypedefByIndex</a> (<a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> index, int *typeId) const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the typedef.  <a href="#af3fbbbdf2864b0e46fbc25063df0c36a"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Dynamic binding between modules</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#a12273a6a6dd9bd39ca9675bcd84b0cc7">GetImportedFunctionCount</a> () const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of functions declared for import.  <a href="#a12273a6a6dd9bd39ca9675bcd84b0cc7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#a6de1053c8317e7134e7e59e4527339f6">GetImportedFunctionIndexByDecl</a> (const char *decl) const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the imported function index by declaration.  <a href="#a6de1053c8317e7134e7e59e4527339f6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#a20e46ad7ea467f98bbf35ee052b86868">GetImportedFunctionDeclaration</a> (<a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> importIndex) const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the imported function declaration.  <a href="#a20e46ad7ea467f98bbf35ee052b86868"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#adc01b24a82ad14356f2edc082af4c146">GetImportedFunctionSourceModule</a> (<a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> importIndex) const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the declared imported function source module.  <a href="#adc01b24a82ad14356f2edc082af4c146"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#a369f8792cec94f44833854ce54b28b8b">BindImportedFunction</a> (<a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> importIndex, int funcId)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Binds an imported function to the function from another module.  <a href="#a369f8792cec94f44833854ce54b28b8b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#a4d59b4e833bf139f6b7256d6b6bd40b6">UnbindImportedFunction</a> (<a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> importIndex)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Unbinds an imported function.  <a href="#a4d59b4e833bf139f6b7256d6b6bd40b6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#a3f0c215576adefd922c2cc95d16b55d8">BindAllImportedFunctions</a> ()=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Binds all imported functions in a module, by searching their equivalents in the declared source modules.  <a href="#a3f0c215576adefd922c2cc95d16b55d8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#ab7b4c4b94190779028776fd1057a658f">UnbindAllImportedFunctions</a> ()=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Unbinds all imported functions.  <a href="#ab7b4c4b94190779028776fd1057a658f"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Bytecode saving and loading</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#a493e91e8ccf282966881276e2022dab1">SaveByteCode</a> (<a class="el" href="classas_i_binary_stream.html">asIBinaryStream</a> *out) const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Save compiled bytecode to a binary stream.  <a href="#a493e91e8ccf282966881276e2022dab1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#a2cf2e0fa7de8a14034eb31aa3edecbd0">LoadByteCode</a> (<a class="el" href="classas_i_binary_stream.html">asIBinaryStream</a> *in)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Load pre-compiled bytecode from a binary stream.  <a href="#a2cf2e0fa7de8a14034eb31aa3edecbd0"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">User data</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#aa6560a0c5e187695664da2859a9da437">SetUserData</a> (void *data)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Register the memory address of some user data.  <a href="#aa6560a0c5e187695664da2859a9da437"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_module.html#acfe8b510171e4d330a88847bf31e2208">GetUserData</a> () const =0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the address of the previously registered user data.  <a href="#acfe8b510171e4d330a88847bf31e2208"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>A script module can be thought of a library of script functions, objects, and global variables. These are built from a single or multiple script files, also known as script sections.</p>
<p>An application can load multiple modules independently, and can even discard modules that are no longer used without affecting the other modules. This makes modules convenient for use with on-demand script logic, i.e. the script is loaded and compiled only as it needed, rather than everything up front.</p>
<p>If two modules are built using the same source script files, they will each hold unique copies of the global variables, functions, and objects declared in the script. There may be valid reasons to do this, but if your only reason is to give a set of individual scripted properties to application objects, then you should consider designing your scripts to use script classes. The use of script classes will allow each application object to maintain its own instance of the script class, while still sharing the same implementation in a single module.</p>
<p>While different modules are independent, they can communicate with each other with a little help from the application. It is for example possible to import functions between modules, or a handle to an interface might be passed from one module to another to allow. To facilitate the information exchange between modules, the script language permits the declaration of shared entities, e.g. classes and interfaces. These shared entities will be seen and shared by all modules that declare them, thus making guaranteeing that the modules speak the same language, so to speak. </p>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a330835919b565c76c25e9425536f50b7"></a><!-- doxytag: member="asIScriptModule::AddScriptSection" ref="a330835919b565c76c25e9425536f50b7" args="(const char *name, const char *code, size_t codeLength=0, int lineOffset=0)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptModule::AddScriptSection </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>code</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>codeLength</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>lineOffset</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>The name of the script section </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">code</td><td>The script code buffer </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">codeLength</td><td>The length of the script code </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">lineOffset</td><td>An offset that will be added to compiler message line numbers </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A negative value on error. </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">asMODULE_IS_IN_USE</td><td>The module is currently in use. </td></tr>
    <tr><td class="paramname">asINVALID_ARG</td><td>The <em>code</em> argument is null. </td></tr>
    <tr><td class="paramname">asNOT_SUPPORTED</td><td>Compiler support is disabled in the engine.</td></tr>
  </table>
  </dd>
</dl>
<p>This adds a script section to the module. All sections added will be treated as if one large script. Errors reported will give the name of the corresponding section.</p>
<p>The code added is copied by the engine, so there is no need to keep the original buffer after the call. Note that this can be changed by setting the engine property <a class="el" href="angelscript_8h.html#a53c2e8a74ade77c928316396394ebe0fabf1577418b716c92f0a85be3e2617243">asEP_COPY_SCRIPT_SECTIONS</a> with <a class="el" href="classas_i_script_engine.html#a1bce4e5f573a2ca0ff55163e28f761dd">asIScriptEngine::SetEngineProperty</a>. </p>

</div>
</div>
<a class="anchor" id="a3f0c215576adefd922c2cc95d16b55d8"></a><!-- doxytag: member="asIScriptModule::BindAllImportedFunctions" ref="a3f0c215576adefd922c2cc95d16b55d8" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptModule::BindAllImportedFunctions </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>A negative value on error. </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">asERROR</td><td>An error occurred. </td></tr>
    <tr><td class="paramname">asCANT_BIND_ALL_FUNCTIONS</td><td>Not all functions where bound.</td></tr>
  </table>
  </dd>
</dl>
<p>This functions tries to bind all imported functions in the module by searching for matching functions in the suggested modules. If a function cannot be bound the function will give an error <a class="el" href="angelscript_8h.html#a6e2a1647f02f2c5da931bab09e860f54a412d2352693e848f46ccdd93c8d047e4">asCANT_BIND_ALL_FUNCTIONS</a>, but it will continue binding the rest of the functions. </p>

</div>
</div>
<a class="anchor" id="a369f8792cec94f44833854ce54b28b8b"></a><!-- doxytag: member="asIScriptModule::BindImportedFunction" ref="a369f8792cec94f44833854ce54b28b8b" args="(asUINT importIndex, int funcId)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptModule::BindImportedFunction </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td>
          <td class="paramname"><em>importIndex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>funcId</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">importIndex</td><td>The index of the imported function. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">funcId</td><td>The function id of the function that will be bound to the imported function. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A negative value on error. </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">asNO_FUNCTION</td><td><em>importIndex</em> or <em>fundId</em> is incorrect. </td></tr>
    <tr><td class="paramname">asINVALID_INTERFACE</td><td>The signature of function doesn't match the import statement.</td></tr>
  </table>
  </dd>
</dl>
<p>The imported function is only bound if the functions have the exact same signature, i.e the same return type, and parameters. </p>

</div>
</div>
<a class="anchor" id="a8acf107194c5f079d7f7507309ebe613"></a><!-- doxytag: member="asIScriptModule::Build" ref="a8acf107194c5f079d7f7507309ebe613" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptModule::Build </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>A negative value on error </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">asINVALID_CONFIGURATION</td><td>The engine configuration is invalid. </td></tr>
    <tr><td class="paramname">asERROR</td><td>The script failed to build. </td></tr>
    <tr><td class="paramname">asBUILD_IN_PROGRESS</td><td>Another thread is currently building. </td></tr>
    <tr><td class="paramname">asINIT_GLOBAL_VARS_FAILED</td><td>It was not possible to initialize at least one of the global variables. </td></tr>
    <tr><td class="paramname">asNOT_SUPPORTED</td><td>Compiler support is disabled in the engine.</td></tr>
  </table>
  </dd>
</dl>
<p>Builds the script based on the added sections, and registered types and functions. After the build is complete the script sections are removed to free memory. If the script module needs to be rebuilt all of the script sections needs to be added again.</p>
<p>Compiler messages are sent to the message callback function set with <a class="el" href="classas_i_script_engine.html#a74192fe950808eb72a64e3e371f0ea02">asIScriptEngine::SetMessageCallback</a>. If there are no errors or warnings, no messages will be sent to the callback function.</p>
<p>Any global variables found in the script will be initialized by the compiler if the engine property <a class="el" href="angelscript_8h.html#a53c2e8a74ade77c928316396394ebe0facac241d97facce4eaf9e5b0ca40dfcf1">asEP_INIT_GLOBAL_VARS_AFTER_BUILD</a> is set. If you get the error asINIT_GLOBAL_VARS_FAILED, then it is probable that one of the global variables during the initialization is trying to access another global variable before it has been initialized. </p>

</div>
</div>
<a class="anchor" id="a1258d7cfeed965f36ba312beeb49e81c"></a><!-- doxytag: member="asIScriptModule::CompileFunction" ref="a1258d7cfeed965f36ba312beeb49e81c" args="(const char *sectionName, const char *code, int lineOffset, asDWORD compileFlags, asIScriptFunction **outFunc)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptModule::CompileFunction </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>sectionName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>code</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>lineOffset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#a5428f0c940201e5f3bbb28304aeb81bc">asDWORD</a>&#160;</td>
          <td class="paramname"><em>compileFlags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classas_i_script_function.html">asIScriptFunction</a> **&#160;</td>
          <td class="paramname"><em>outFunc</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">sectionName</td><td>The name of the script section </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">code</td><td>The script code buffer </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">lineOffset</td><td>An offset that will be added to compiler message line numbers </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">compileFlags</td><td>One of <a class="el" href="angelscript_8h.html#a2bf48c41455371788805269376ca5e41">asECompileFlags</a> values </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">outFunc</td><td>Optional parameter to receive the compiled function descriptor </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A negative value on error </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">asINVALID_ARG</td><td>One or more arguments have invalid values. </td></tr>
    <tr><td class="paramname">asINVALID_CONFIGURATION</td><td>The engine configuration is invalid. </td></tr>
    <tr><td class="paramname">asBUILD_IN_PROGRESS</td><td>Another build is in progress. </td></tr>
    <tr><td class="paramname">asERROR</td><td>The compilation failed. </td></tr>
    <tr><td class="paramname">asNOT_SUPPORTED</td><td>Compiler support is disabled in the engine.</td></tr>
  </table>
  </dd>
</dl>
<p>Use this to compile a single function. The function can be optionally added to the scope of the module, in which case it will be available for subsequent compilations. If not added to the module, the function can still be returned in the output parameter, which will allow the application to execute it, and then discard it when it is no longer needed.</p>
<p>If the output function parameter is set, remember to release the function object when you're done with it. </p>

</div>
</div>
<a class="anchor" id="a34850e152dcdcb58c53a2b6929cebf77"></a><!-- doxytag: member="asIScriptModule::CompileGlobalVar" ref="a34850e152dcdcb58c53a2b6929cebf77" args="(const char *sectionName, const char *code, int lineOffset)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptModule::CompileGlobalVar </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>sectionName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>code</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>lineOffset</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">sectionName</td><td>The name of the script section </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">code</td><td>The script code buffer </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">lineOffset</td><td>An offset that will be added to compiler message line numbers </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A negative value on error </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">asINVALID_ARG</td><td>One or more arguments have invalid values. </td></tr>
    <tr><td class="paramname">asINVALID_CONFIGURATION</td><td>The engine configuration is invalid. </td></tr>
    <tr><td class="paramname">asBUILD_IN_PROGRESS</td><td>Another build is in progress. </td></tr>
    <tr><td class="paramname">asERROR</td><td>The compilation failed. </td></tr>
    <tr><td class="paramname">asNOT_SUPPORTED</td><td>Compiler support is disabled in the engine.</td></tr>
  </table>
  </dd>
</dl>
<p>Use this to add a single global variable to the scope of a module. The variable can then be referred to by the application and subsequent compilations.</p>
<p>The script code may contain an initialization expression, which will be executed by the compiler if the engine property <a class="el" href="angelscript_8h.html#a53c2e8a74ade77c928316396394ebe0facac241d97facce4eaf9e5b0ca40dfcf1">asEP_INIT_GLOBAL_VARS_AFTER_BUILD</a> is set. </p>

</div>
</div>
<a class="anchor" id="a0998d375ca1de02bc72f4544806da58c"></a><!-- doxytag: member="asIScriptModule::GetAddressOfGlobalVar" ref="a0998d375ca1de02bc72f4544806da58c" args="(asUINT index)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void* asIScriptModule::GetAddressOfGlobalVar </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>The index of the global variable. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the global variable, or null if not found.</dd></dl>
<p>This method should be used to retrieve the pointer of a variable that you wish to access. </p>

</div>
</div>
<a class="anchor" id="aef861826f4d09fd411aee7792854bfb8"></a><!-- doxytag: member="asIScriptModule::GetEngine" ref="aef861826f4d09fd411aee7792854bfb8" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classas_i_script_engine.html">asIScriptEngine</a>* asIScriptModule::GetEngine </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the engine. </dd></dl>

</div>
</div>
<a class="anchor" id="acdce6b9ca9f8ce694751c133f27a7313"></a><!-- doxytag: member="asIScriptModule::GetEnumByIndex" ref="acdce6b9ca9f8ce694751c133f27a7313" args="(asUINT index, int *enumTypeId) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* asIScriptModule::GetEnumByIndex </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>enumTypeId</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>The index of the enum type. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">enumTypeId</td><td>Receives the type id of the enum type. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The name of the enum type, or null on error. </dd></dl>

</div>
</div>
<a class="anchor" id="a1a241b3dfd47f7ab5bb475c757e38df9"></a><!-- doxytag: member="asIScriptModule::GetEnumCount" ref="a1a241b3dfd47f7ab5bb475c757e38df9" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> asIScriptModule::GetEnumCount </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of enum types in the module. </dd></dl>

</div>
</div>
<a class="anchor" id="a9911c25c61315bc4109c11872ce69445"></a><!-- doxytag: member="asIScriptModule::GetEnumValueByIndex" ref="a9911c25c61315bc4109c11872ce69445" args="(int enumTypeId, asUINT index, int *outValue) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* asIScriptModule::GetEnumValueByIndex </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>enumTypeId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>outValue</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">enumTypeId</td><td>The type id of the enum type. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>The index of the enum value. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">outValue</td><td>Receives the numeric value. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The name of the enum value. </dd></dl>

</div>
</div>
<a class="anchor" id="a1d3ec83b6130a66abb4c8f1cebb963c8"></a><!-- doxytag: member="asIScriptModule::GetEnumValueCount" ref="a1d3ec83b6130a66abb4c8f1cebb963c8" args="(int enumTypeId) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptModule::GetEnumValueCount </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>enumTypeId</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">enumTypeId</td><td>The type id of the enum type. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of enum values or a negative value on error. </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">asINVALID_ARG</td><td><em>enumTypeId</em> is not an enum type. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ab4754d55d8667aefbed135b4794d461b"></a><!-- doxytag: member="asIScriptModule::GetFunctionByDecl" ref="ab4754d55d8667aefbed135b4794d461b" args="(const char *decl) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classas_i_script_function.html">asIScriptFunction</a>* asIScriptModule::GetFunctionByDecl </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>decl</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">decl</td><td>The function declaration. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The function or null in case of error. </dd></dl>

</div>
</div>
<a class="anchor" id="afd4d9951ee006caa8ec1bab3d3d206fc"></a><!-- doxytag: member="asIScriptModule::GetFunctionByIndex" ref="afd4d9951ee006caa8ec1bab3d3d206fc" args="(asUINT index) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classas_i_script_function.html">asIScriptFunction</a>* asIScriptModule::GetFunctionByIndex </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>The index of the function </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The function or null in case of error. </dd></dl>

</div>
</div>
<a class="anchor" id="a81d727c9677b683942b6087df4ce95ad"></a><!-- doxytag: member="asIScriptModule::GetFunctionByName" ref="a81d727c9677b683942b6087df4ce95ad" args="(const char *name) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classas_i_script_function.html">asIScriptFunction</a>* asIScriptModule::GetFunctionByName </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>The function name </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The function or null if not found or there are multiple matches. </dd></dl>

</div>
</div>
<a class="anchor" id="a373d102f109ae0fa20584f243ead4035"></a><!-- doxytag: member="asIScriptModule::GetFunctionCount" ref="a373d102f109ae0fa20584f243ead4035" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> asIScriptModule::GetFunctionCount </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of global functions in this module.</dd></dl>
<p>This method retrieves the number of compiled script functions. </p>

</div>
</div>
<a class="anchor" id="ad09b8ddf16d45154b1f12a5847a57db6"></a><!-- doxytag: member="asIScriptModule::GetFunctionDescriptorById" ref="ad09b8ddf16d45154b1f12a5847a57db6" args="(int funcId) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classas_i_script_function.html">asIScriptFunction</a>* asIScriptModule::GetFunctionDescriptorById </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>funcId</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000004">Deprecated:</a></b></dt><dd></dd></dl>
<dl class="since"><dt><b>Since:</b></dt><dd>2011-10-03. Use <a class="el" href="classas_i_script_engine.html#aaf67dc0b1f26be437ccbcc0ac5f330c9">asIScriptEngine::GetFunctionById</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a7c1030fdb2e0b5dac3ed3f2d27cd3119"></a><!-- doxytag: member="asIScriptModule::GetFunctionDescriptorByIndex" ref="a7c1030fdb2e0b5dac3ed3f2d27cd3119" args="(asUINT index) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classas_i_script_function.html">asIScriptFunction</a>* asIScriptModule::GetFunctionDescriptorByIndex </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000003">Deprecated:</a></b></dt><dd></dd></dl>
<dl class="since"><dt><b>Since:</b></dt><dd>2011-10-03. Use <a class="el" href="classas_i_script_module.html#afd4d9951ee006caa8ec1bab3d3d206fc">asIScriptModule::GetFunctionByIndex</a> instead </dd></dl>

</div>
</div>
<a class="anchor" id="a3c9cc47d3e0efc4aaf22d92492735438"></a><!-- doxytag: member="asIScriptModule::GetFunctionIdByDecl" ref="a3c9cc47d3e0efc4aaf22d92492735438" args="(const char *decl) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptModule::GetFunctionIdByDecl </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>decl</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">decl</td><td>The function signature. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A negative value on error, or the function id. </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">asERROR</td><td>The module was not compiled successfully. </td></tr>
    <tr><td class="paramname">asINVALID_DECLARATION</td><td>The <em>decl</em> is invalid. </td></tr>
    <tr><td class="paramname">asMULTIPLE_FUNCTIONS</td><td>Found multiple matching functions. </td></tr>
    <tr><td class="paramname">asNO_FUNCTION</td><td>Didn't find any matching functions.</td></tr>
  </table>
  </dd>
</dl>
<p>This method should be used to retrieve the id of the script function that you wish to execute. The id is then sent to the context's <a class="el" href="classas_i_script_context.html#a43976f42dfc6c1af23e132d36265173a">Prepare</a> method.</p>
<p>The method will find the script function with the exact same declaration. </p>

</div>
</div>
<a class="anchor" id="a6f2d37c051254c96fdb3fe820daf9385"></a><!-- doxytag: member="asIScriptModule::GetFunctionIdByIndex" ref="a6f2d37c051254c96fdb3fe820daf9385" args="(asUINT index) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptModule::GetFunctionIdByIndex </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>The index of the function. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A negative value on error, or the function id. </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">asNO_FUNCTION</td><td>There is no function with that index.</td></tr>
  </table>
  </dd>
</dl>
<p>This method should be used to retrieve the id of the script function that you wish to execute. The id is then sent to the context's <a class="el" href="classas_i_script_context.html#a43976f42dfc6c1af23e132d36265173a">Prepare</a> method. </p>

</div>
</div>
<a class="anchor" id="a5af2e0e25a6c0d319c8d22543210a09a"></a><!-- doxytag: member="asIScriptModule::GetFunctionIdByName" ref="a5af2e0e25a6c0d319c8d22543210a09a" args="(const char *name) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptModule::GetFunctionIdByName </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>The name of the function. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A negative value on error, or the function id. </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">asERROR</td><td>The module was not compiled successfully. </td></tr>
    <tr><td class="paramname">asMULTIPLE_FUNCTIONS</td><td>Found multiple matching functions. </td></tr>
    <tr><td class="paramname">asNO_FUNCTION</td><td>Didn't find any matching functions.</td></tr>
  </table>
  </dd>
</dl>
<p>This method should be used to retrieve the id of the script function that you wish to execute. The id is then sent to the context's <a class="el" href="classas_i_script_context.html#a43976f42dfc6c1af23e132d36265173a">Prepare</a> method. </p>

</div>
</div>
<a class="anchor" id="a00b36a31c91756a34f66c37283ea5235"></a><!-- doxytag: member="asIScriptModule::GetGlobalVar" ref="a00b36a31c91756a34f66c37283ea5235" args="(asUINT index, const char **name, int *typeId=0, bool *isConst=0) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptModule::GetGlobalVar </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char **&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>typeId</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool *&#160;</td>
          <td class="paramname"><em>isConst</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>The index of the global variable. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">name</td><td>The name of the variable. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">typeId</td><td>The type of the variable. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">isConst</td><td>Whether or not the variable is const. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A negative value on error. </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">asINVALID_ARG</td><td>The index is out of range. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a87e29773f7e6f2980d75288faaa74d02"></a><!-- doxytag: member="asIScriptModule::GetGlobalVarCount" ref="a87e29773f7e6f2980d75288faaa74d02" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> asIScriptModule::GetGlobalVarCount </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of global variables in the module. </dd></dl>

</div>
</div>
<a class="anchor" id="a343d8cab801cc6edf0e2d80cee0ee538"></a><!-- doxytag: member="asIScriptModule::GetGlobalVarDeclaration" ref="a343d8cab801cc6edf0e2d80cee0ee538" args="(asUINT index) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* asIScriptModule::GetGlobalVarDeclaration </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>The index of the global variable. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A null terminated string with the variable declaration, or null if not found.</dd></dl>
<p>This method can be used to retrieve the variable declaration of the script variables that the host application will access. Verifying the declaration is important because, even though the script may compile correctly the user may not have used the variable types as intended. </p>

</div>
</div>
<a class="anchor" id="ac3d5dafe8ca92bf618f438dc79ef2906"></a><!-- doxytag: member="asIScriptModule::GetGlobalVarIndexByDecl" ref="ac3d5dafe8ca92bf618f438dc79ef2906" args="(const char *decl) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptModule::GetGlobalVarIndexByDecl </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>decl</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">decl</td><td>The global variable declaration. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A negative value on error, or the global variable index. </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">asERROR</td><td>The module was not built successfully. </td></tr>
    <tr><td class="paramname">asNO_GLOBAL_VAR</td><td>The matching global variable was found.</td></tr>
  </table>
  </dd>
</dl>
<p>This method should be used to retrieve the index of the script variable that you wish to access.</p>
<p>The method will find the script variable with the exact same declaration. </p>

</div>
</div>
<a class="anchor" id="a00cff95b43c256cc6b9062e135a473a2"></a><!-- doxytag: member="asIScriptModule::GetGlobalVarIndexByName" ref="a00cff95b43c256cc6b9062e135a473a2" args="(const char *name) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptModule::GetGlobalVarIndexByName </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>The name of the global variable. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A negative value on error, or the global variable index. </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">asERROR</td><td>The module was not built successfully. </td></tr>
    <tr><td class="paramname">asNO_GLOBAL_VAR</td><td>The matching global variable was found.</td></tr>
  </table>
  </dd>
</dl>
<p>This method should be used to retrieve the index of the script variable that you wish to access. </p>

</div>
</div>
<a class="anchor" id="a12273a6a6dd9bd39ca9675bcd84b0cc7"></a><!-- doxytag: member="asIScriptModule::GetImportedFunctionCount" ref="a12273a6a6dd9bd39ca9675bcd84b0cc7" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> asIScriptModule::GetImportedFunctionCount </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of imported functions.</dd></dl>
<p>This function returns the number of functions that are imported in a module. These functions need to be bound before they can be used, or a script exception will be thrown. </p>

</div>
</div>
<a class="anchor" id="a20e46ad7ea467f98bbf35ee052b86868"></a><!-- doxytag: member="asIScriptModule::GetImportedFunctionDeclaration" ref="a20e46ad7ea467f98bbf35ee052b86868" args="(asUINT importIndex) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* asIScriptModule::GetImportedFunctionDeclaration </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td>
          <td class="paramname"><em>importIndex</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">importIndex</td><td>The index of the imported function. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A null terminated string with the function declaration, or null if not found.</dd></dl>
<p>Use this function to get the declaration of the imported function. The returned declaration can be used to find a matching function in another module that can be bound to the imported function. </p>

</div>
</div>
<a class="anchor" id="a6de1053c8317e7134e7e59e4527339f6"></a><!-- doxytag: member="asIScriptModule::GetImportedFunctionIndexByDecl" ref="a6de1053c8317e7134e7e59e4527339f6" args="(const char *decl) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptModule::GetImportedFunctionIndexByDecl </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>decl</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">decl</td><td>The function declaration of the imported function. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A negative value on error, or the index of the imported function. </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">asERROR</td><td>The module was not built successfully. </td></tr>
    <tr><td class="paramname">asMULTIPLE_FUNCTIONS</td><td>Found multiple matching functions. </td></tr>
    <tr><td class="paramname">asNO_FUNCTION</td><td>Didn't find any matching function.</td></tr>
  </table>
  </dd>
</dl>
<p>This function is used to find a specific imported function by its declaration. </p>

</div>
</div>
<a class="anchor" id="adc01b24a82ad14356f2edc082af4c146"></a><!-- doxytag: member="asIScriptModule::GetImportedFunctionSourceModule" ref="adc01b24a82ad14356f2edc082af4c146" args="(asUINT importIndex) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* asIScriptModule::GetImportedFunctionSourceModule </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td>
          <td class="paramname"><em>importIndex</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">importIndex</td><td>The index of the imported function. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A null terminated string with the name of the source module, or null if not found.</dd></dl>
<p>Use this function to get the name of the suggested module to import the function from. </p>

</div>
</div>
<a class="anchor" id="a4967db3ed89836ac2f3b529c499d473d"></a><!-- doxytag: member="asIScriptModule::GetName" ref="a4967db3ed89836ac2f3b529c499d473d" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* asIScriptModule::GetName </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>The name of the module. </dd></dl>

</div>
</div>
<a class="anchor" id="a33ebba99a6358ccfb0c154fca7f58f77"></a><!-- doxytag: member="asIScriptModule::GetObjectTypeByIndex" ref="a33ebba99a6358ccfb0c154fca7f58f77" args="(asUINT index) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classas_i_object_type.html">asIObjectType</a>* asIScriptModule::GetObjectTypeByIndex </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>The index of the type. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The object type interface for the type, or null if not found.</dd></dl>
<p>This does not increase the reference count of the returned object. </p>

</div>
</div>
<a class="anchor" id="a931d0c00cba2df1b4e368e59bac1a207"></a><!-- doxytag: member="asIScriptModule::GetObjectTypeCount" ref="a931d0c00cba2df1b4e368e59bac1a207" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> asIScriptModule::GetObjectTypeCount </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of object types declared in the module. </dd></dl>

</div>
</div>
<a class="anchor" id="af3fbbbdf2864b0e46fbc25063df0c36a"></a><!-- doxytag: member="asIScriptModule::GetTypedefByIndex" ref="af3fbbbdf2864b0e46fbc25063df0c36a" args="(asUINT index, int *typeId) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* asIScriptModule::GetTypedefByIndex </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>typeId</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>The index of the typedef. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">typeId</td><td>The type that the typedef aliases. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The name of the typedef. </dd></dl>

</div>
</div>
<a class="anchor" id="ad30b22539655df3135f29ce28b89c820"></a><!-- doxytag: member="asIScriptModule::GetTypedefCount" ref="ad30b22539655df3135f29ce28b89c820" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> asIScriptModule::GetTypedefCount </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>The number of typedefs in the module. </dd></dl>

</div>
</div>
<a class="anchor" id="a7fbc2bd888b248d2c2ee2d953b49eefc"></a><!-- doxytag: member="asIScriptModule::GetTypeIdByDecl" ref="a7fbc2bd888b248d2c2ee2d953b49eefc" args="(const char *decl) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptModule::GetTypeIdByDecl </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>decl</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">decl</td><td>The declaration of the type. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A negative value on error, or the type id of the type. </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">asINVALID_TYPE</td><td><em>decl</em> is not a valid type.</td></tr>
  </table>
  </dd>
</dl>
<p>Translates a type declaration into a type id. The returned type id is valid for as long as the type is valid, so you can safely store it for later use to avoid potential overhead by calling this function each time. Just remember to update the type id, any time the type is changed within the engine, e.g. when recompiling script declared classes, or changing the engine configuration.</p>
<p>The type id is based on a sequence number and depends on the order in which the type ids are queried, thus is not guaranteed to always be the same for each execution of the application. The <a class="el" href="angelscript_8h.html#ae8c3a67a97321be53181e9ed396ad83a">asETypeIdFlags</a> can be used to obtain some information about the type directly from the id.</p>
<p>A base type yields the same type id whether the declaration is const or not, however if the const is for the subtype then the type id is different, e.g. string@ isn't the same as const string@ but string is the same as const string. </p>

</div>
</div>
<a class="anchor" id="acfe8b510171e4d330a88847bf31e2208"></a><!-- doxytag: member="asIScriptModule::GetUserData" ref="acfe8b510171e4d330a88847bf31e2208" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void* asIScriptModule::GetUserData </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>The pointer to the user data. </dd></dl>

</div>
</div>
<a class="anchor" id="a2cf2e0fa7de8a14034eb31aa3edecbd0"></a><!-- doxytag: member="asIScriptModule::LoadByteCode" ref="a2cf2e0fa7de8a14034eb31aa3edecbd0" args="(asIBinaryStream *in)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptModule::LoadByteCode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classas_i_binary_stream.html">asIBinaryStream</a> *&#160;</td>
          <td class="paramname"><em>in</em></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">in</td><td>The input stream. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A negative value on error. </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">asINVALID_ARG</td><td>The stream object wasn't specified. </td></tr>
    <tr><td class="paramname">asBUILD_IN_PROGRESS</td><td>Another thread is currently building.</td></tr>
  </table>
  </dd>
</dl>
<p>This method is used to load pre-compiled byte code from disk or memory. The application must implement an object that inherits from <a class="el" href="classas_i_binary_stream.html">asIBinaryStream</a> to provide the necessary stream operations.</p>
<p>It is expected that the application performs the necessary validations to make sure the pre-compiled byte code is from a trusted source. The application should also make sure the pre-compiled byte code is compatible with the current engine configuration, i.e. that the engine has been configured in the same way as when the byte code was first compiled. </p>

</div>
</div>
<a class="anchor" id="a62c6783491b197e9eb29639e7997e1df"></a><!-- doxytag: member="asIScriptModule::RemoveFunction" ref="a62c6783491b197e9eb29639e7997e1df" args="(int funcId)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptModule::RemoveFunction </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>funcId</em></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">funcId</td><td>The id of the function to remove. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A negative value on error. </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">asNO_FUNCTION</td><td>The function is not part of the scope.</td></tr>
  </table>
  </dd>
</dl>
<p>This method allows the application to remove a single function from the scope of the module. The function is not destroyed immediately though, only when no more references point to it. </p>

</div>
</div>
<a class="anchor" id="aac10878c3d16f18ace4db881f7a1bb11"></a><!-- doxytag: member="asIScriptModule::RemoveGlobalVar" ref="aac10878c3d16f18ace4db881f7a1bb11" args="(asUINT index)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptModule::RemoveGlobalVar </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>The index of the global variable. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A negative value on error. </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">asINVALID_ARG</td><td>The index is out of range.</td></tr>
  </table>
  </dd>
</dl>
<p>The global variable is removed from the scope of the module, but it is not destroyed until all functions that access it are freed. </p>

</div>
</div>
<a class="anchor" id="a7b084b6693a05616097d7059e54d983b"></a><!-- doxytag: member="asIScriptModule::ResetGlobalVars" ref="a7b084b6693a05616097d7059e54d983b" args="(asIScriptContext *ctx=0)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptModule::ResetGlobalVars </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classas_i_script_context.html">asIScriptContext</a> *&#160;</td>
          <td class="paramname"><em>ctx</em> = <code>0</code></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Optional script context. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A negative value on error. </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">asERROR</td><td>The module was not compiled successfully. </td></tr>
    <tr><td class="paramname">asINIT_GLOBAL_VARS_FAILED</td><td>The initialization of the global variables failed.</td></tr>
  </table>
  </dd>
</dl>
<p>Resets the global variables declared in this module to their initial value. The context should be informed if the application needs to have extra control over how the initialization is done, for example for debugging, or for catching exceptions. </p>

</div>
</div>
<a class="anchor" id="a493e91e8ccf282966881276e2022dab1"></a><!-- doxytag: member="asIScriptModule::SaveByteCode" ref="a493e91e8ccf282966881276e2022dab1" args="(asIBinaryStream *out) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptModule::SaveByteCode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classas_i_binary_stream.html">asIBinaryStream</a> *&#160;</td>
          <td class="paramname"><em>out</em></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">out</td><td>The output stream. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A negative value on error. </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">asINVALID_ARG</td><td>The stream object wasn't specified. </td></tr>
    <tr><td class="paramname">asNOT_SUPPORTED</td><td>Compiler support is disabled in the engine.</td></tr>
  </table>
  </dd>
</dl>
<p>This method is used to save pre-compiled byte code to disk or memory, for a later restoral. The application must implement an object that inherits from <a class="el" href="classas_i_binary_stream.html">asIBinaryStream</a> to provide the necessary stream operations.</p>
<p>The pre-compiled byte code is currently not platform independent, so you need to make sure the byte code is compiled on a platform that is compatible with the one that will load it. </p>

</div>
</div>
<a class="anchor" id="a76733de5a86875c4a0f021f7f92a6d12"></a><!-- doxytag: member="asIScriptModule::SetAccessMask" ref="a76733de5a86875c4a0f021f7f92a6d12" args="(asDWORD accessMask)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="angelscript_8h.html#a5428f0c940201e5f3bbb28304aeb81bc">asDWORD</a> asIScriptModule::SetAccessMask </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#a5428f0c940201e5f3bbb28304aeb81bc">asDWORD</a>&#160;</td>
          <td class="paramname"><em>accessMask</em></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">accessMask</td><td>The access bit mask </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The previous access mask.</dd></dl>
<p>The module's access mask with be bitwise and-ed with the registered entity's access mask in order to determine if the module is allowed to access the entity. If the result is zero then the script in the module will not be able to use the entity.</p>
<p>This can be used to provide different interfaces to scripts that serve different purposes in the application.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="doc_adv_access_mask.html">Access masks and exposing different interfaces</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a1a7534bace9eefdc3175a1999f9cbf4a"></a><!-- doxytag: member="asIScriptModule::SetName" ref="a1a7534bace9eefdc3175a1999f9cbf4a" args="(const char *name)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void asIScriptModule::SetName </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>The new name.</td></tr>
  </table>
  </dd>
</dl>
<p>Sets the name of the script module. </p>

</div>
</div>
<a class="anchor" id="aa6560a0c5e187695664da2859a9da437"></a><!-- doxytag: member="asIScriptModule::SetUserData" ref="aa6560a0c5e187695664da2859a9da437" args="(void *data)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void* asIScriptModule::SetUserData </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>A pointer to the user data. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The previous pointer stored in the module</dd></dl>
<p>This method allows the application to associate a value, e.g. a pointer, with the module instance.</p>
<p>Optionally, a callback function can be <a class="el" href="classas_i_script_engine.html#afb7a5e52a2232262ef2863e58bb2c7d1">registered</a> to clean up the user data when the module is destroyed. </p>

</div>
</div>
<a class="anchor" id="ab7b4c4b94190779028776fd1057a658f"></a><!-- doxytag: member="asIScriptModule::UnbindAllImportedFunctions" ref="ab7b4c4b94190779028776fd1057a658f" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptModule::UnbindAllImportedFunctions </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>A negative value on error.</dd></dl>
<p>Unbinds all imported functions in the module. </p>

</div>
</div>
<a class="anchor" id="a4d59b4e833bf139f6b7256d6b6bd40b6"></a><!-- doxytag: member="asIScriptModule::UnbindImportedFunction" ref="a4d59b4e833bf139f6b7256d6b6bd40b6" args="(asUINT importIndex)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptModule::UnbindImportedFunction </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td>
          <td class="paramname"><em>importIndex</em></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">importIndex</td><td>The index of the imported function. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A negative value on error. </dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">asINVALID_ARG</td><td>The index is not valid.</td></tr>
  </table>
  </dd>
</dl>
<p>Unbinds the imported function. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="angelscript_8h.html">angelscript.h</a></li>
</ul>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="classas_i_script_module.html">asIScriptModule</a>      </li>

    <li class="footer">Generated on Sun Jan 29 2012 15:41:04 for AngelScript by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li>
   </ul>
 </div>


</body>
</html>
